package com.example.algorithm.mergesort;

import com.example.algorithm.util.ArrayGenerator;
import com.example.algorithm.util.SortingHelper;

import java.util.Arrays;

public class MergeSortTest {

    public static void main(String[] args) {
        int n = 100000;
        Integer[] arr = ArrayGenerator.generateRandomArray(n, n);
        Integer[] arr2 = Arrays.copyOf(arr, arr.length);
        Integer[] arr3 = Arrays.copyOf(arr, arr.length);
        Integer[] arr4 = Arrays.copyOf(arr, arr.length);
        SortingHelper.sortTest("SelectionSort", arr);
        SortingHelper.sortTest("InsertionSort", arr2);
        SortingHelper.sortTest("MergeSort", arr3);
        SortingHelper.sortTest("MergeSort2", arr4);

        // 对比有序数组使用mergeSort 的 sort1 和 sort2 的性能差异
        SortingHelper.sortTest("MergeSort", arr4);
        SortingHelper.sortTest("MergeSort2", arr4);
        SortingHelper.sortTest("MergeSort3", arr4);
    }
}
